The cost of administering an organization's personal computers (PCs) and the loss of worker efficiency due to PC failures can be significant. Typically, each PC is dedicated to one user. The PC may have a network connection, local disk storage, input/output devices, etc., and is used primarily by that one user. If a PC becomes inoperative, a system administrator must personally go to the PC's location to manually repair the computer. In a large organization, or in the case of a PC at a remote location, providing such individualized service can be time consuming and inefficient, significantly producing and increasing cost of ownership.
To reduce these and other adverse effects of PC failures, and to increase the efficiency of providing PC service, a recent trend has been to replace desktop PCs with blade-PC's. A blade-PC is a computer that may include a processor, memory, hard drive, and network interface, but no input/output devices such as a mouse, keyboard, monitor, or external disk drive. A plurality of blade-PCs may be housed in a single rack-mount enclosure at a remote location accessible by users via a network. This configuration allows a user with a thin-client to connect to the blade-PCs via the network. A thin client is a computer with minimal storage and computing capacity, but that does include a keyboard, mouse, monitor and network interface. Typically, multiple blade-PCs are networked together to service multiple thin-clients. A load balancer is commonly used to distribute work among the various blade-PCs. Because blade-PCs are typically co-located, servicing and upgrading such computers is often found to be more efficient than servicing and upgrading traditional desktop PCs.
When booting a computer, whether a blade-PC or desktop PC, a portion of the basic input/output-system (BIOS) code, referred to as the boot code, is executed. The boot code loads an operating system from system ROM into system memory where it is then executed. Typically, the system ROM is electrically-erasable read-only memory (EEPROM), although other non-volatile storage devices are used as well. Occasionally, the BIOS code will need to be upgraded to correct existing problems or to add new functionality. Typically, to access a corrupted or outdated BIOS of a desktop PC, an administrator must go to each such PC and boot the PC from a portable computer-readable medium such as a CD-ROM or floppy disk that includes a recovery BIOS code image and update tool. Similarly, to access a corrupted or updated BIOS in a blade-PC, an administrator must go to each blade-PC, attach a keyboard, mouse, monitor, and CD-ROM or floppy drive, and boot the blade-PC from the portable medium which contains the recovery BIOS code image and update tool. Once the update tool loads the recovery BIOS image into system ROM, the administrator restarts the computer, which should then boot normally. This procedure must be performed at each desktop and blade-PC for which the BIOS is to be upgraded or replaced.
Because bade-PCs typically share a common location, they are often remotely and concurrently upgraded with the same BIOS flash utility. In addition, co-located blade-PCs often share a common power source, particularly those housed in the same racks and rack mount enclosures. These factors increase the likelihood that co-located blade-PCs may simultaneously experience a BIOS corruption. Thus, even though the blade-PCs can be more efficiently administered, the time to service each blade-PC can still be significant source of delay and inefficiency.